#ifndef DYNAMICGESTURE_H
#define DYNAMICGESTURE_H

#include <vector>
#include "hmm.h"
#include "trajectory.h"
#include "handgestureexception.h"

namespace mlgesture {

class DynamicGesture
{
public:
	DynamicGesture(const vector<QString> &model_files, const QString &garbage_file, int hands_num) throw (HandGestureException);
	~DynamicGesture();
	const std::vector<int>& getDynamicGestures() throw (HandGestureException);
	void process(const std::vector<Trajectory> &trajectory, const std::vector<bool> &trajectory_end) throw (HandGestureException);

private:
	std::vector<Hmm*> gesturesModels_;
	Hmm garbageModel_;
	std::vector<int> dynamicGestures_;
};

}

#endif // DYNAMICGESTURE_H
